﻿using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using SegIdenMovilBT.Entidad;
using SegIdenMovilBT.DataAccess;
using System.Data;

namespace SegIdenMovilBT.Datos
{
    public class TiendaDA
    {
        #region --- Constantes Tiendas ---
        private const string CODTIENDA = "CODTIENDA";
        private const string NOMBRE = "NOMBRE";
        #endregion

        #region --- Metodos Propios ---
        public ListaTienda listarTienda()
        {
            ListaTienda listaTiendas = null;
            StringBuilder sentenciaSQL = null;

            sentenciaSQL = new StringBuilder();
            sentenciaSQL.Append("SELECT CODTIENDA, NOMBRE ");
            sentenciaSQL.Append("FROM tienda ");

            // Carga de datos obtenido de la BD
            using (Database db = new Database())
            {
                db.TextoSQL = sentenciaSQL.ToString();

                listaTiendas = new ListaTienda();

                IDataReader dr = db.obtenerDataReader();

                while (dr.Read())
                {
                    listaTiendas.add(generarEntidadTienda(dr));
                }
            }

            return listaTiendas;
        }

        private Tienda generarEntidadTienda(IDataReader dr)
        {
            Tienda tiendaObtenido = null;

            tiendaObtenido = new Tienda();
            tiendaObtenido.codigo = dr[CODTIENDA].ToString();
            tiendaObtenido.nombre = dr[NOMBRE].ToString();

            return tiendaObtenido;
        }
        #endregion
    }
}
